Dream controller

ABSTRACT

A method and apparatus for intelligently controlling continuous process variables. A Dream Controller comprises an Intelligent Engine mechanism and a number of Model-Free Adaptive (MFA) controllers, each of which is suitable to control a process with specific behaviors. The Intelligent Engine can automatically select the appropriate MFA controller and its parameters so that the Dream Controller can be easily used by people with limited control experience and those who do not have the time to commission, tune, and maintain automatic controllers.

This application claims priority to U.S. Provisional Application No.61/234,206, filed on Aug. 14, 2009, which is herein incorporated byreference.

This invention was made with government support under SBIR grantDE-FG02-08ER84944 awarded by the U.S. Department of Energy. Thegovernment has certain rights to the invention.

The subject of this patent relates to automatic control of simple tocomplex systems including industrial processes, equipment, facilities,buildings, devices, boilers, valve positioners, motion stages, drives,motors, turbines, compressors, engines, robotics, vehicles, andappliances, and more particularly to a method and apparatus forintelligently controlling continuous process variables.

The inventive Dream Controller can automatically select the appropriatecontroller type and its parameters based on the process informationentered by the user. It consists of different types of Model-FreeAdaptive (MFA) controllers, many of which have been disclosed andpatented. The Dream Controller has sufficient adaptive and robustcapability to control simple to complex processes providing consistentcontrol performance without re-tuning of its parameters. It is able todeal with changes in process dynamics, load, disturbances, and otheruncertainties.

Developed almost 70 years ago, the PID(Proportional-Integral-Derivative) controller is still the most widelyused controller today. PID is simple, easy to understand and implement,and does not require a precise process model to launch. However, PID hasmany shortcomings: (1) PID works well for simple processes that arebasically linear and time-invariant. (2) PID must be tuned properly.When the process dynamics or operating conditions change, PID may needre-tuning. In practice, tuning PID is often a frustrating experience.(3) PID has trouble controlling complex systems no matter how it istuned.

PID controllers were originally developed on pneumatic systems thatcannot really produce the integral and Derivative functions.Approximation formulas were used. PID went through the technologyadvances from pneumatic to analog, digital, and software based controlsystems. Different manufacturers may use different forms of PID formulaand units. For instance, PID proportional gain is the controller gainbut PID proportional band is the reciprocal of the PID gain in percent,which is not only confusing but also dangerous if the user does not payattention to the difference. It is desirable to develop ageneral-purpose yet smart controller that can be easily used by peoplewith limited control experience and those who do not have the time tocommission, tune, and maintain automatic controllers.

First introduced in 1997, the Model-Free Adaptive (MFA) controltechnology overcomes the shortcomings of PID control and is able tocontrol various complex processes that may have one or more of thefollowing behaviors: (1) nonlinear, (2) time-varying, (3) large timedelay, (4) multi-input-multi-output, (5) frequent dynamic changes, (6)open-loop oscillating, (7) pH process, and (8) processes with large loadchanges and disturbances.

Since MFA is “Model-Free”, it also overcomes the shortcomings ofmodel-based advanced control methods. MFA is an adaptive and robustcontrol technology but it does not require (1) precise process models,(2) process identification, (3) controller design, and (4) complicatedmanual tuning of controller parameters. A series of U.S. patents andrelated international patents for Model-Free Adaptive (MFA) control andoptimization technologies have been issued. Some of them, are listed inTable 1.

TABLE 1 U.S. Pat. No. Patent Name 6,055,524 Model-Free Adaptive ProcessControl 6,556,980 Model-Free Adaptive Control for Industrial Processes6,360,131 Model-Free Adaptive Control for Flexible Production Systems6,684,115 Model-Free Adaptive Control of Quality Variables (1) 6,684,112Robust Model-Free Adaptive Control 7,016,743 Model-Free Adaptive Controlof Quality Variables (2) 7,142,626 Apparatus and Method of ControllingMulti-Input- Single-Output Systems 7,152,052 Apparatus and Method ofControlling Single-Input- Multi-Output Systems 7,415,446 Model-FreeAdaptive Optimization

Commercial hardware and software products with Model-Free Adaptivecontrol have been successfully installed in most industries and deployedon a large scale for process control, building control, and equipmentcontrol. However, in most cases, the user still has to select theappropriate MFA controller and enter certain parameters.

In this patent, we introduce a novel general-purpose yet smart MFAcontroller (the Dream Controller) designed to overcome the shortcomingsof the prior art. The Dream Controller includes an Intelligent Engineand a number of MFA controllers, each of which is suitable to control aprocess with specific behaviors. The intelligent Engine canautomatically select the appropriate MFA controller and its parameters.Therefore, the Dream Controller can be easily used by people withlimited control experience and those who do not have the time tocommission, tune, and maintain automatic controllers.

In the accompanying drawing:

FIG. 1 is a block diagram illustrating a single-loop automatic controlsystem comprising the Dream Controller according to this invention.

FIG. 2 is a block diagram illustrating the architecture of the DreamController in the basic form of a Model-Free Adaptive (MFA) controller.

FIG. 3 is a flow chart describing the steps in an Intelligent Enginemechanism according to this invention.

FIG. 4 is a flow chart describing the steps for the ProcessQualification mechanism according to this invention.

FIG. 5 is a flow chart describing the steps for the Process TypeSelection mechanism according to this invention.

FIG. 6 is a flow chart describing the steps for the Controller Selectionand Auto configuration mechanism according to this invention.

FIG. 7 is a flow chart describing the steps for the Flow ControlConfiguration mechanism according to this invention.

FIG. 8 is a flow chart describing the steps for the Pressure ControlConfiguration mechanism according to this invention.

FIG. 9 is a flow chart describing the steps for the Temperature ControlConfiguration mechanism according to this invention.

FIG. 10 is a flow chart describing the steps for the Level ControlConfiguration mechanism according to this invention.

FIG. 11 is a flow chart describing the steps for the pH ControlConfiguration mechanism according to this invention.

FIG. 12 is a flow chart describing the steps for the Control Systeminspection mechanism according to this invention.

In this patent, the term “mechanism” is used to represent hardware,software, or any combination thereof. The term “process” is used torepresent a physical system or process with inputs and outputs that havedynamic relationships. The term “program” is used to represent asequence of instructions that a computer can interpret and execute. Theterm “initialization” is used to represent the procedure to set orprepare a mechanism to a starting position, value, or configuration. Theterm “routine” is used to represent a sequence of steps that can beexecuted repeatedly in a program. The term “Dream Controller” is used torepresent the novel general-purpose Model-Free Adaptive (MFA) controlleras part of the Intelligent MFA control system of this invention.

Without losing generality, all numerical values given in controllerparameter configuration in this patent are examples. Other values can beused without departing from the spirit or scope of our invention.

DESCRIPTION

FIG. 1 is a block diagram illustrating a single-loop automatic controlsystem comprising the Dream Controller according to this invention. Itcomprises the Dream Controller 10, an actuator 6, asingle-input-single-output (SISO) process 12, and signal adders 14 and16. The Dream Controller consists of a SISO MFA controller 8 and anIntelligent Engine 9. The signals shown in FIG. 1 are as follows:

r(t)—Setpoint,

y(t)—Measured Variable or the Process Variable, y(t)=x(t)+d(t).

x(t)—Process Output,

u(t)—Controller Output

d(t)—Disturbance, the disturbance caused by noise or load changes.

e(t)—Error between the Setpoint and Measured Variable, e(t)=r(t)−y(t).

The control objective is for the controller to produce an output u(t) tomanipulate the actuator 6 so that the process variable y(t) tracks thegiven trajectory of its setpoint r(t) under variations of setpoint,disturbance, and process dynamics. In other words, the task of the MFAcontroller is to minimize the error e(t) in an online fashion.

The control objective function for the MFA control system is selected as

$\begin{matrix}\begin{matrix}{{E_{S}(t)} = {\frac{1}{2}{e(t)}^{2}}} \\{\frac{1}{2}{\left( {{r(t)} - {y(t)}} \right\rbrack^{2}.}}\end{matrix} & (1)\end{matrix}$

The minimization of E_(s)(t) is achieved by (i) the regulatory controlcapability of the MFA controller, whose output u(t) manipulates theactuator forcing the process variable r(t) to track its setpoint r(t);and (ii) the adjustment of the MFA controller weighting factors thatallow the controller to deal with the dynamic changes, largedisturbances, and other uncertainties.

FIG. 2 is a block diagram illustrating the architecture of the DreamController of this invention in the basic form of a Model-Free Adaptive(MFA) controller. A linear multilayer neural network 18 is used as a keycomponent of the controller. The neural network has one input layer 20,one hidden layer 22 with N neurons, and one output layer 24 with oneneuron.

The input signal e(t) to the input layer 20 is first converted to anormalized error signal E₁ with a range of−1 to 1 by using thenormalization unit 26, where N(.) denotes a normalization function. Theoutput of the normalization unit 26 is then scaled by a scaling functionL_(x)(.) 25

$\begin{matrix}{{L_{x}\left( . \right)} = {\frac{K_{cx}}{T_{cx}}.}} & (2)\end{matrix}$The value of E₁ at time t is computed with function L_(x)(.) and N(.):

$\begin{matrix}{{E_{1} = {\frac{K_{cx}}{T_{cx}}{N\left( {e(t)} \right)}}},} & (3)\end{matrix}$where K_(cx)>0 is defined as controller gain and T_(cx) is the definedprocess time constant. K_(cx) is used to compensate for the processsteady-state gain and T_(cx) provides information for the dynamicbehavior of the process. When the error signal is scaled with theseparameters, the controller's behavior can be manipulated by adjustingthe parameters.

The E₁ signal then goes iteratively through a series of delay units 28,were z⁻¹ denotes the unit delay operator. A set of normalized and scalederror signals E₂ to E_(N) is then generated. In this way, a continuoussignal e(t) is converted to a series of discrete signals, which are usedas the inputs to the neural network. These delayed error signals E_(i),i=1, . . . N, are then conveyed to the hidden layer through the neuralnetwork connections. This is equivalent to adding a feedback structureto the neural network. Then the regular static multilayer neural networkbecomes a dynamic neural network. A dynamic block is just another namefor a dynamic system, whose inputs and outputs have dynamicrelationships.

Each input signal can be conveyed separately to each of the neurons inthe hidden layer 22 via a path weighted by an individual weightingfactor w_(ij), where i=1, 2, . . . N, and j=1, 2, . . . N. The inputs toeach of the neurons in the hidden layer are summed by adder 30 toproduce signal p_(j). Then the signal p_(j) is filtered by an activationfunction 32 to produce q_(j) where j denotes the jth neuron in thehidden layer.

A piecewise continuous linear function ƒ(x) mapping real numbers to[0,1] used as the activation function in the neural network as definedby

$\begin{matrix}{{{f(x)} = 0},{\mspace{11mu}\;}{{{if}\mspace{14mu} x} < {- \frac{b}{a}}}} & \left( {4a} \right) \\{{{f(x)} = {{ax} + b}},\mspace{14mu}{{{if}\mspace{14mu} - \frac{b}{a}} \leq x \leq \frac{b}{a}}} & \left( {4b} \right) \\{{{f(x)} = 1},\mspace{14mu}{{{if}\mspace{14mu} x} > \frac{b}{a}}} & \left( {4c} \right)\end{matrix}$where a is an arbitrary constant and b=½.

Each output signal from the hidden layer is conveyed to the singleneuron in the output layer 24 via a path weighted by an individualweighting factor h_(j), where j=1, 2, . . . N. These signals are summedin adder 34 to produce signal z(.), and then filtered by activationfunction 36 to produce the output o(.) of the neural network 18 with arange of 0 to 1.

A de-normalization function 38 defined byD(x)=100x,  (5)maps the o(.) signal back to the real space to produce the controllersignal u(t).

The algorithm governing the input-output of the controller consists ofthe following difference equations:

$\begin{matrix}{{{p_{j}(n)} = {\sum\limits_{i = 1}^{N}{{w_{ij}(n)}{E_{i}(n)}}}},} & (6) \\{{{q_{j}(n)} = {f\left( {p_{j}(n)} \right)}},} & (7) \\\begin{matrix}{{{o(n)} = {f\left( {\sum\limits_{j = 1}^{N}{{h_{j}(n)}{q_{j}(n)}}} \right)}},} \\{{= {{a{\sum\limits_{j = 1}^{N}{{h_{j}(n)}{q_{j}(n)}}}} + b}},}\end{matrix} & (8)\end{matrix}$where the variable of function ƒ(.) is in the range specified inEquation (4b), and o(n) is bounded by the limits specified in Equations(4a) and (4c). The controller signal u(t) becomes

$\begin{matrix}\begin{matrix}{{u(t)} = {{{K_{cx}\left( . \right)}{e(t)}} + {D\left( {o(t)} \right)}}} \\{{= {{{K_{cx}\left( . \right)}{e(t)}} + {100\left\lbrack {{a{\sum\limits_{j = 1}^{N}{{h_{j}(n)}{q_{j}(n)}}}} + b} \right\rbrack}}},}\end{matrix} & (9)\end{matrix}$where n denotes the nth iteration; o(t) is the continuous function ofo(n); D(.) is the de-normalization function; and K_(cx)(.)>0, thecontroller gain 42, is a variable used to adjust the magnitude of thecontrol signal. This is the same variable as in the scaling functionL_(x)(.) 25 and is useful to fine tune the controller performance orkeep the system stable.

An online learning algorithm as described in the U.S. Pat. No. 6,556,980B1 is an example of one algorithm that can be used to continuouslyupdate the values of the weighting factors of the MFA controller asfollows:Δw _(ij)(n)=a ² ηe(n)E _(i)(n)h _(i)(n),  (10)Δh _(j)(a)=aηe(n)q _(j)(n).  (11)

The equations (1) through (11) work for both process direct-acting orreverse acting types. Direct-acting means that an increase in theprocess input will cause its output to increase, and vice versa.Reverse-acting means that an increase in the process input will causeits output to decrease, and vice versa. To keep the above equationsworking for both direct and reverse acting cases, e(t) is calculateddifferently based on the acting type of the process as follows:e(t)=r(t)−y(t), if direct acting  (12a)e(t)=−[r(t)−y(t)]. if reverse acting  (12b)

Based on user entered information such as Process Type and ControlProblems, the Intelligent Engine 46 can automatically enter thepre-determined controller gain K_(c) 42 and time constant T_(c) insidethe scaling function L_(x)(.) 25.

FIG. 3 is a flow chart describing the steps in the Intelligent Enginemechanism according to this invention. At Block 50, initialization istaking place, which sets the mechanism to a starting position, value,and configuration.

At Block 52, a Process Qualification mechanism is designed to eliminatethe potential misuse of the control system. Its detailed design isdescribed in FIG. 4. At Block 54, a Process Type Selection mechanismallows the user to enter the process type for the control loop. Itsdetailed design is described in FIG. 5. At Block 56, a ControllerSelection and Auto-configuration mechanism is designed to automaticallyselect the appropriate MFA controller and its parameters. Its detaileddesign is described in FIG. 6. At Block 58, a Control System inspectionmechanism is used to check all the controller configuration and signalconnections of the control system. Its detailed design is described inFIG. 12. At Block 60, the user is asked if it is ready to launch thecontroller. If yes, it will proceed to Block 62 and a Controller ReadyFlag is set. This flag can also be interlocked with the Auto/Manual flagof the controller to turn the controller to automatic control mode.Otherwise, if the user is not ready to launch the controller or wants tomake changes, the routine returns to the entry of Block 52.

FIG. 4 is a flow chart describing the steps in the Process Qualificationmechanism according to this invention. At Block 64, initialization istaking place. At Block 66, the user needs to verify that the process is(1) controllable, (2) open-loop stable, and (3) either direct-acting orreverse-acting. These three basic conditions are defined in thefollowing. Controllable means that the controller output u(t) used asthe process input is capable of moving the process output x(t) to anyposition within its pre-defined range in a finite time. Open-loop stablemeans that for any hounded process input, the process output is alsobounded. Either direct-acting or reverse-acting means that the processdoes not change its sign within the operating range.

At Block 68, if the user cannot verify that the process meets the threebasic conditions, the routine goes to Block 74 telling the user that theprocess is not controllable using this controller and then exits theIntelligent Engine mechanism. Otherwise, it will continue to Block 70,where more process verification is taking place. Based on the safety andsuitability considerations, the Dream Controller should not be used forcertain processes. Therefore, the user needs to verify that the processis not (1) a reactor process, (2) a run-away process, and (3) aseriously coupled multivariable process. The temperature of a chemicalreactor is typically a run-away process that is not only difficult tocontrol but also dangerous. A multivariable process where its variablesare seriously coupled could be controlled by using MIMO MFA controllers.At Block 72, the answers are checked. If the user can verify that theprocess meets the conditions, the routine ends successfully. Otherwise,it goes to Block 74 and then exits the intelligent Engine mechanism.

FIG. 5 is a flow chart describing the steps for the Process TypeSelection mechanism according to this invention. At Block 76,initialization is taking place. At Block 78, the user is asked to selectthe process type that includes (1) Flow, (2) Pressure, (3) Temperature,(4) Level, (5) pH, and (6) Other. At Block 80, the selection is checked.If selection “Other” is made, the routine goes to Block 84, where theuser is directed to use other types of MFA controllers. Then the routineexits the Intelligent Engine mechanism. When a selection for (1) to (5)is made, at Block 82, the user needs to enter the Range of the ProcessVariable and Engineering Unit. For instance, for a temperature process,PV Low Limit and PV High Limit are entered and the unit of C (Celsius)or F (Fahrenheit) is specified. At Block 86, the user needs to selectwhether the process is (1) Direct-acting, or (2) Reverse-acting. Thenthe Process Acting Type is saved as part of the controllerconfiguration.

FIG. 6 is a flow chart describing the steps for the Controller Selectionand Auto-configuration mechanism according to this invention. At Block88, initialization is taking place. At Blocks 90, 94, 98, 102, and 106,the routine branches to the corresponding control configurationmechanisms 92, 96, 100, 104, and 108 for flow, pressure, temperature,level, and pH processes, respectively. After running the selectedControl Configuration mechanism routine, the program exits theController Selection and Auto-configuration mechanism routine.

We now describe the detailed controller selection and configuration foreach of the process types in the following.

1. Flow Control

Comparing flow, pressure, temperature, level, and pH, the flow loop isprobably the least difficult to control but has the largest number ofloops because a continuous process is about moving material flows fromthe beginning of the process to the end. Typically, the flow loop iscontrolled by manipulating a valve, a variable frequency drive (VFD), ora pump.

It is relatively easy to control a flow loop because it is naturally afirst-order process with a small delay time. However, in flow control,the commonly used actuators are all nonlinear components by nature. (1)A control valve is almost never a linear component. It can have aconcave, convex, or S-shaped nonlinear relationship between its inputand output. Some even have hysteresis behavior making the problem muchworse; (2) A variable frequency drive (VFD) saves energy but isnaturally a nonlinear device; and (3) A flow pump driven by apulse-width modulator (PWM) based on the duty cycles does notnecessarily have a linear relationship with the flow. In addition, theinevitable wear and tear of the actuator can make the nonlinear behaviorworse. Therefore, the challenge for flow control is mainly how tocontrol a nonlinear process with stringent control performancerequirements.

FIG. 7 is a flow chart describing the steps for the Flow ControlConfiguration mechanism according to this invention. At Block 110,initialization is taking place. At Block 112, the user specifies whetheror not the flow process is nonlinear. If nonlinear, the Nonlinear MPAcontroller is selected at Block 114. Otherwise, the SISO MFA controlleris selected at Block 116. At Block 118, the user is asked to enter avalue that describes the degree of nonlinearity on a scale from 0 to 10,0 being linear, and 10 being extremely nonlinear. This parameter iscalled Linearity Factor for the Nonlinear MFA controller. At Block 120,the MFA controller is configured with Kc=2 and Tc=8 seconds, where Kc isthe MFA controller gain, and Tc is the time constant. After that, theroutine exits.

2. Pressure Control

Pressure is an important process variable because it provides a criticalcondition for boiling, chemical reaction, distillation, extrusion,vacuuming, and air conditioning. Poor pressure control can cause majorsafety, quality, and productivity problems. Overly high pressure insidea sealed vessel can cause an explosion. Therefore, it is desirable tokeep pressure in good control and maintained within its safety limits.

A pressure loop may include bad behavior such as: (1) nonlinear, (2)open-loop oscillating, (3) multivariable with serious coupling to otherprocess variables, (4) large time delay, and (5) large load changes. TheDream Controller is not suitable to control a pressure process that ismultivariable or has large time delays. A MIMO(Multi-input-multi-output) MFA controller is suitable to control amultivariable process, and the Anti-delay MFA controller is suitable tocontrol a process with large time delays.

FIG. 8 is a flow chart describing the steps for the Pressure ControlConfiguration mechanism according to this invention. At Block 122,initialization is taking place. At Block 124, the user is asked if thepressure loop has a large time delay or requires feedforward control. Ifyes, at Block 128, the user is advised to use the Anti-delay MFAcontroller or Feedforward MFA controller which are not part of the DreamController. In these cases, more detailed configuration and design arerequired. For instance, a controller for controlling the steam pressureof a boiler for power generation requires careful design andconfiguration. The routine then exits the Intelligent Engine mechanism.

At Block 126, the user specifies whether or not the pressure process isnonlinear. If yes, the Nonlinear MFA controller is selected at Block130. At Block 132, the user enters the Linearity Factor for theNonlinear MFA controller. If the pressure process is not nonlinear, atBlock 134, the user specifies whether or not the process is open-looposcillating. If yes, the Flex-phase MFA controller is selected at Block136 and its Anti-overshoot constant Ks is configured with a value of 0.2at Block 140. If the pressure process is neither nonlinear nor open-looposcillating, a regular SISO MFA is selected at Block 138. At last, theMFA controller is configured with Kc=2 and Tc=8 seconds at Block 142,and then the routine exits.

3. Temperature Control

Temperature is an important process variable because it provides acritical condition for combustion, chemical reaction, fermentation,drying, calcination, distillation, concentration, extrusion,crystallization, and air conditioning. Poor temperature control cancause major safety, quality, and productivity problems. Although highlydesirable, it is often difficult to control the temperature due to oneor more of the following reasons: (1) very slow, (2) time-varying, (3)large time delay, (4) multivariable with serious coupling to otherprocess variables, (5) large load changes, (6) dynamical changes due tofuel change and other uncertainties, (7) nonlinear, (8) high-speed, (9)single-input-multi-output (SIMO). (10) multi-input-single-output (MISO),(11) run-away, etc. Various MFA controllers have been developed to dealwith these difficulties. However, as a general-purpose controller, theDream Controller is not suitable to control the most problematictemperature processes. Therefore, extra screening is necessary whenselecting and configuring a temperature controller.

FIG. 9 is a flow chart describing the steps for the Temperature ControlConfiguration mechanism according to this invention. At Block 144,initialization is taking place. At Block 146, the user is asked toverify that the temperature process is not a single-input-multi-output(SIMO) process, or a multi-input-single-output (MISO) process, or arun-away process. At Block 148, this verification is checked. If theresult is negative, at Block 150, the user is advised that the processcannot be controlled using this controller and a special MFA controlleris required. Then the routine exits the Intelligent Engine mechanism.

After the screening, at Block 152, the user is asked if the temperatureprocess is nonlinear. If yes, the Nonlinear MFA controller is selectedat Block 154. Otherwise, a SISO MFA controller is selected at Block 156,At Block 158, the user enters the Linearity Factor for the Nonlinear MFAcontroller. At Block 160, the user needs to select if the process is (1)very fast, (2) fast, (3) medium, (4) slow, and (5) very slow. Based onthe selections of (1) to (5), the corresponding time constant Tc aslisted in Block 160 is configured for the MFA controller. For option(6), the user needs to enter the estimate time constant of the process.For instance, the temperature loop of a rapid thermal processing (RTP)system may have a 0.5 second time constant, and the temperature loop ofa large HVAC system may have a time constant of several hours. At Block162, the controller is configured with Kc=2, and then the routine exits.

4. Level Control

When compared to other control loops, the importance of the level loopis often over-looked. Typically, the level loop is controlled bymanipulating the inflow or outflow of the operating unit, and isconsidered an easy loop to control. In general, it is not easy toproperly tune a PID controller to achieve good level control under alloperating conditions due to the potential inflow and outflow variationsof the operating unit. Overly tight level control will result in toomuch movement of the flow loop, which can cause excessive disturbancesto the downstream operating unit. Thus, a PID level controller isusually detuned to allow the level to fluctuate; so the variations ofthe outflow are minimized. However, the detuned PID cannot provideprompt control against large disturbances, which may result in safetyproblems during a plant upset. In addition, oscillations in level cancause the process to swing, which also results in a lower yield. TheRobust MFA controller is well suited to control the level loop. Itallows smooth material and energy transfers between the operating units;and also protects the levels from overflowing or becoming too dry duringabnormal conditions.

FIG. 10 is a flow chart describing the steps for the Level ControlConfiguration mechanism according to this invention. At Block 164,initialization is taking place. At Block 166, the user is asked if it isa boiler steam drum level. If yes, at Block 168, the user is advised touse the 3-element MFA control solution. Then the routine exits theIntelligent Engine mechanism. Otherwise, at Block 170, the SISO MFAcontroller is selected. At Block 172, the user specifies if the levelprocess is non-self-regulating. Non-self-regulating means that the levelwill continue to go up or down under a constant process input. If yes,the MFA controller is configured with Kc=10, and Tc=300 seconds at Block174. If not, the MFA controller is configured with Kc=2, and Tc=50seconds at Block 176. At Block 178, the user is asked if protection oflevel from running too high or too low is needed. If yes, at Block 179,the Robust MEA control feature is enabled. The Level Upper Bound andLevel Lower Bound are entered at Block 180 for the Robust MFAcontroller. The Upper and Lower Bound are based on the level setpoint inits engineering unit. Recall that the PV Engineering Unit has beenentered in the Process Selection mechanism. At Block 182, the Robust MFAcontroller is configured with Upper Gain Ratio=Lower Gain Ratio=3 andthen the routine ends. If the level protection is not required, theroutine goes directly to the end.

5. PH Control

Most industrial plants and municipal facilities generate a wastewatereffluent that must be neutralized prior to discharge or reuse.Consequently, pH control is needed everywhere and yet most pH loopsperform poorly. Results are inferior product quality, environmentalpollution, and material waste. With ever increasing pressure to improveplant efficiency and tighter regulations in environmental protection,effective and continuous pH control is highly desirable.

Nevertheless, a pH loop is usually difficult to control because it ishighly nonlinear. The pH value versus the reagent flow has a logarithmicrelationship. Away from neutrality, the process gain is relativelysmall. Near neutrality where pH=7, the process gain can be a fewthousand times higher. It is impossible for a fixed controller like PIDto effectively control this process. In practice, most pH loops are in a“bang-bang” type of control with pumps cycling on and of which causeslarge oscillations. Since acid and caustic neutralize each other,over-dosing acid and caustic is prohibitively expensive. Statistics showthat a poorly controlled pH process can cost tens of thousands ofdollars in chemical usage each month, not counting the penalties imposedby violating government discharge codes.

The MFA pH controller can effectively control a wide range of pHprocesses within the full pH range. It is useful for wastewaterneutralization and also enables automatic control of acid or alkalineconcentration, both of which are critical quality variables for thechemical process industry.

FIG. 11 is a flow chart describing the steps for the pH ControlConfiguration mechanism according to this invention. At Block 184,initialization is taking place. At Block 186, the user is asked if thepH process has large time delays. If yes, the Anti-delay MFA pHcontroller is selected at Block 188. If not, the regular MFA pHcontroller is selected at Block 190. At Block 192, the user is asked toenter the Minimum Delay Time and Maximum Delay Time of the pH process.Since it is just a range of the delay time, it is easy to make theestimation. At Block 194, the user selects if the pH process is (1)Strong-acid-strong-base, (2) Strong-acid-weak-base, (3)Weak-acid-strong-base, (4) Weak-acid-weak-base, and (5) Uncertain. AtBlock 196, MFA pH controller parameters are configured based on theselection in Block 194. The parameters include the titration break pointA and B, steep gain, flat gain, and time constant. As an example, theseparameters can be configured with the values listed in Table 2.

TABLE 2 pH Process MFA pH Controller Parameters Strong-acid-strong-baseBreak A = 11, Break B = 3, Kc1 = 1, Kc2 = 0.001, Tc = 10 sec.Strong-acid-weak-base Break A = 8, Break B = 3, Kc1 = 1, Kc2 = 0.003, Tc= 10 sec. Weak-acid-strong-base Break A = 11, Break B = 6, Kc1 = 1, Kc2= 0.003, Tc = 10 sec. Weak-acid-weak-base Break A = 8, Break B = 6, Kc1= 1, Kc2 = 0.01, Tc = 20 sec. Uncertain Break A = 9, Break B = 5, Kc1 =1, Kc2 = 0.001, Tc = 10 sec.

From FIG. 7 to FIG. 11, the control selection and configuration stepsfor flow, pressure, temperature, level, and pH processes are described,respectively. The controller selection based on the process type andcontrol challenge is summarized in Table 3.

TABLE 3 Process Type Control Challenge Pre-configured MFA 1. Flow a.Regular a. SISO MFA controller b. Nonlinear b. Nonlinear MFA controller2. Pressure a. Regular a. SISO MFA controller b. Nonlinear b. NonlinearMFA controller c. Open-loop oscillating c. Flex-phase MFA controller 3.Temp a. Regular or large time lag a. SISO MFA controller b. Nonlinear b.Nonlinear MFA controller. 4. Level a. Regular a. SISO MFA controller b.Non-self-regulating b. SISO MFA controller c. Minimal OP changedesirable c. Robust MFA controller 5. PH a. No large time delay. a. MFApH controller b. There is a large time delay. b. Anti-delay MFA pHcontroller

FIG. 12 is a flow chart describing the steps for the Control Systeminspection mechanism according to this invention. It consists of theinspection for the controller configuration and the signals of thecontrol system. At Block 198, initialization is taking place. At Block200, a Controller Configuration Menu is shown that includes allinformation relating to the process selection and controllerconfiguration. Table 4 shows an example of a temperature process to becontrolled by a Nonlinear MFA controller.

TABLE 4 Process Info: Process Type = Temperature, Control Challenge =Nonlinear. PV Low Limit = 100, PV High Limit = 1000, Engineering Unit =Degree F. Controller Info: Selected Controller = Nonlinear MFA.Configured Parameters: Kc = 2.0, Tc = 5.0 sec, NL Factor = 5.

At Block 202, the user is asked if the configuration is accurate. Ifnot, it is advised to make all necessary changes at Block 204. TheController Configuration Menu will show again to let the user enterchanges. At Block 202, the user is asked if the configuration isaccurate. If yes, configuration is done and the routine proceeds.

At Block 206, the user is asked to check the status of (1) Setpoint(SP), (2) Process Variable (PV), (3) Controller Output (OP), (4)Controller Output Tracking Variable (OTV), and (5) Controller Mode. Allthese signals have to be in their normal states before the controllercan be launched to the automatic control mode. At Block 208, the userverifies that the system is OK. If not, at Block 210, it is advised totake all necessary actions to assure that all control loop signals areworking properly. If yes, the routine ends with a successful controlsystem configuration and inspection.

Inside the Intelligent Engine routine as shown in FIG. 3, the programcontinues from Block 58 to Block 60. If the user is ready to launch thecontroller, the program will proceed to Block 62 and a Controller ReadyFlag is set.

The invention claimed is:
 1. In a control system using Model-FreeAdaptive (MFA) controllers to control process variables of a physicalprocess, a method of automatically selecting and configuring anavailable MFA controller appropriate for a given process based on aninput of known characteristics and behaviors of the process, comprising:a) qualifying the process as meeting basic controllability conditionsbased upon the input of known characteristics and behaviors of theprocess; b) inputting a process type as the type of process to becontrolled; and c) following said inputting of the process type, thecontrol system automatically selecting an appropriate MFA controller tocontrol the process and automatically configuring parameters of theautomatically-selected MFA controller.
 2. The method of claim 1, saidprocess qualification further comprising: i) inputting whether or notthe process is open-loop stable, controllable and either direct-actingor reverse-acting, but not a reactor process, a run-away process, nor amultivariable process; ii) if the criteria of i) are satisfied,proceeding with said process type inputting; and iii) if the criteria ofi) are not satisfied, advising the user to use a special MFA controller.3. The method of claim 1, said process type inputting furthercomprising: i) inputting whether the process variable to be controlledis flow, pressure, temperature, level, pH or other; ii) if the processvariable is neither flow, pressure, temperature, level nor pH, advisingthe user to use a special MFA controller, and iii) if the processvariable is flow, pressure, temperature, level or pH, inputting therange and engineering unit of the process variable; inputting whetherthe process is direct-acting or reverse-acting; and configuring theselected MFA controller with a predetermined configuration mechanismappropriate for the inputted process variable type.
 4. The method ofclaim 3, wherein if the process variable is flow, the method furthercomprising: iv) inputting whether the flow process is linear ornonlinear; v) if the flow process is linear, selecting a SISO MFAcontroller, and setting controller gain Kc=1.5 and time constant Tc=8seconds; and vi) if the flow process is nonlinear, selecting a NonlinearMFA controller, advising the user to enter the Linearity Factor in aninteger value between 0 to 10, and setting controller gain Kc=1.5 andtime constant Tc=8 seconds.
 5. The method of claim 3, wherein if theprocess variable is pressure, the method further comprising: iv)inputting whether the pressure process has a large time delay orrequires feedforward control; v) if the pressure process has a largetime delay, advising the user to use an Anti-delay MFA controller; vi)if the pressure process requires feedforward control, advising the userto use a Feedforward MFA controller; vii) inputting whether the pressureprocess is nonlinear, and if it is, selecting a Nonlinear MFAcontroller, advising the user to enter the Linearity Factor in aninteger value between 0 to 10, and setting controller gain Kc=1.5 andtime constant Tc=8 seconds; and viii) if the pressure process is linear,inputting whether the process is open-loop oscillating; if it is not,selecting a SISO MFA controller, otherwise selecting a Flex-Phase MFAcontroller and setting the Anti-overshoot constant Ks=0.2; and in bothcases setting controller gain Kc=1.5 and time constant Tc=8 seconds. 6.The method of claim 3, wherein if the process variable is temperature,the method further comprising: iv) inputting whether or not thetemperature process is a single-input-multiple-output (SIMO), amultiple-input-single-output (MISO) or a run-away process; v) if thetemperature process is SIMO, MISO or run-away, advising the user to usea special MFA controller; vi) if the temperature process is neitherSIMO, MISO nor run-away, inputting whether the temperature process islinear; and vii) if the temperature process is linear, selecting a SISOMFA controller; if the temperature process is nonlinear, selecting aNonlinear MFA controller and advising the user to enter the LinearityFactor in an integer value between 0 to 10; in both cases, setting timeconstant Tc in accordance with an inputted process speed classification,and setting controller gain Kc=2.
 7. The method of claim 6, in whichsaid inputted process speed. classification is substantially inaccordance with the following table: Process Speed Time Constant Tc inSeconds Classification Very Fast 6 Fast 20 Medium 60 Slow 200 Very Slow600 Specify User Entered Value

wherein User Entered Value is the estimated process time constant inseconds entered by the user.
 8. The method of claim 3, wherein if theprocess variable is level, the method further comprising: iv) inputtingwhether or not the level process is a boiler steam drum level, and if itis, advising the user to use the 3-element MFA control solution; v) ifthe level process is not a boiler steam drum level, selecting a SISO MFAcontroller and inputting whether or not the level process isself-regulating; and vi) if the level process is self-regulating,setting controller gain Kc=2 and time constant Tc=50 seconds; otherwise,setting controller gain Kc=10 and time constant Tc=300 seconds.
 9. Themethod of claim 8, further comprising: vii) if level limit protection isdesired, enabling robust MFA control, entering desired level upper boundand level lower bound, and setting the upper and lower gain ratios to 3.10. The method of claim 3, wherein if the process variable is pH, themethod further comprising: iv) inputting whether the pH process has alarge time delay; if it does not, selecting an MFA pH controller;otherwise, selecting an Anti-delay MFA pH controller and entering theminimum and maximum delay time of the process; and v) in either case,inputting the relative strength of the acid and base relating to the pHprocess, and configuring the MFA with a corresponding predeterminedcontroller parameter configuration.
 11. The method of claim 10, in whichsaid predetermined controller parameter configuration is substantiallyin accordance with the following table: Input of pH Process MFA pHController Parameters Relative Strength Strong-acid-strong-base Break A= 11, Break B = 3, Kc1 = 1, Kc2 = 0.001, Tc = 10 sec.Strong-acid-weak-base Break A = 8, Break B = 3, Kc1 = 1, Kc2 = 0.003, Tc= 10 sec. Weak-acid-strong-base Break A = 11, Break B = 6, Kc1 = 1, Kc2= 0.003, Tc = 10 sec. Weak-acid-weak-base Break A = 8, Break B = 6, Kc1= 1, Kc2 = 0.01, Tc = 20 sec. Uncertain Break A = 9, Break B = 5, Kc1 =1, Kc2 = 0.001, Tc = 10 sec.

wherein Break A is Titration Break Point A, Break B is Titration BreakPoint B, Kc1 is Flat Gain, Kc2 is Steep Gain, and Tc is Time Constant.12. The method of claim 1, further comprising: d) displaying theselection and configuration of the selected MFA controller; e) verifyingthe correctness of the MFA controller selection and configuration; f)verifying all control loop signals including setpoint (SP), processvariable (PV) controller output (OP), output tracking variable (OTV),and auto/manual mode; and g) advising user of the readiness of the MFAcontrol system for launch.
 13. A method of configuring a control systemto control a flow process using Model-Free Adaptive (MFA) controllers,comprising: a) inputting whether the flow process is linear ornonlinear; b) if the flow process is linear, selecting a SISO MFAcontroller, and setting controller gain Kc=1.5 and time constant Tc=8seconds; and c) if the flow process is nonlinear, selecting a NonlinearMFA controller, advising the user to enter the Linearity Factor in aninteger value between 0 to 10, and setting controller gain Kc=1.5 andtime constant Tc=8 seconds wherein the control system is configured tocontrol the flow process based upon the setting of the controller gainand time constant.
 14. A method of configuring a control system tocontrol a pressure process using Model-Free Adaptive (MWA) controllers,comprising: a) inputting whether the pressure process has a large timedelay or requires feedforward control; b) if the pressure process has alarge time delay, advising the user to use an Anti-delay MFA controller;c) if the pressure process requires feedforward control, advising theuser to use a Feedforward MFA controller; d) inputting whether thepressure process is nonlinear, and if it is, selecting a Nonlinear MFAcontroller, advising the user to enter the Linearity Factor in aninteger value between 0 to 10, and setting controller gain Kc=1.5 andtime constant Tc=8 seconds; and e) if the pressure process is linear,inputting whether the process is open-loop oscillating; if it is not,selecting a SISO MFA controller, otherwise selecting a Flex-Phase MFAcontroller and setting the Anti-overshoot constant Ks=0.2; and in bothcases setting controller gain Kc=1.5 and time constant Tc=8 secondswherein the control system is configured based upon the setting of thetwo or more of controller gain, the time constant and Anti-overshootconstant.
 15. A method of configuring a control system to control atemperature process using Model-Free Adaptive (MFA) controllers,comprising: a) inputting whether or not the temperature process is asingle-input-multiple-output (SIMO), a multiple-input-single-output(MISO) or a run-away process; b) if the temperature process is SIMO,MISO or run-away, advising the user to use a special MFA controller; c)if the temperature process is neither SIMO, MISO nor run-away, inputtingwhether the temperature process is linear; and d) if the temperatureprocess is linear, selecting a SISO MFA controller; if the temperatureprocess is nonlinear, selecting a Nonlinear MFA controller and advisingthe user to enter the Linearity Factor in an integer value between 0 to10; in both cases, setting time constant Tc in accordance with aninputted process speed classification, and setting controller gain Kc=2wherein the control system is configured to control the temperatureprocess based upon the setting of the controller gain and time constant.16. The method of claim 15, in which said inputted process speedclassification is substantially in accordance with the following table:Process Speed Time Constant Tc in Seconds Classification Very Fast 6Fast 20 Medium 60 Slow 200 Very Slow 600 Specify User Entered Value

wherein User Entered Value is the estimated process time constant inseconds entered by the user.
 17. A method of configuring a controlsystem to control a level process using Model-Free Adaptive (UFA)controllers, comprising: a) inputting whether or not the level processis a boiler steam drum level, and if it is, advising the user to use the3-element MFA control solution; b) if the level process is not a boilersteam drum level, selecting a SISO MFA controller and inputting whetheror not the level process is self-regulating; and c) if the level processis self-regulating, setting controller gain Kc=2 and time constant Tc=50seconds; otherwise, setting controller gain Kc=10 and, wherein thecontrol system is configured to control the level process based upon thesetting of the controller gain and time constant.
 18. The method ofclaim 17, further comprising: d) if level limit protection is desired,enabling robust MFA control, entering desired level upper bound andlevel lower bound, and setting the upper and lower gain ratios to
 3. 19.A method of configuring a control system to control a pH process usingModel-Free Adaptive (MFA) controllers, comprising: a) inputting whetherthe pH process has a large time delay; if it does not, selecting an MFApH controller to control the pH process; otherwise, selecting anAnti-delay MFA pH controller to control the pH process; and entering theminimum and maximum delay time of the process; and b) in either case,inputting the relative strength of the acid and base relating to the pHprocess, and configuring the MFA with a corresponding predeterminedcontroller parameter configuration.
 20. The method of claim 19, in whichsaid predetermined controller parameter configuration is substantiallyin accordance with the following table: Input of pH Process MFA pHController Parameters Relative Strength Strong-acid-strong-base Break A= 11, Break B = 3, Kc1 = 1, Kc2 = 0.001, Tc = 10 sec.Strong-acid-weak-base Break A = 8, Break B = 3, Kc1 = 1, Kc2 = 0.003, Tc= 10 sec. Weak-acid-strong-base Break A = 11, Break B = 6, Kc1 = 1, Kc2= 0.003, Tc = 10 sec. Weak-acid-weak-base Break A = 8, Break B = 6, Kc1= 1, Kc2 = 0.01, Tc = 20 sec. Uncertain Break A = 9, Break B = 5, Kc1 =1, Kc2 = 0.001, Tc = 10 sec.

wherein Break A is Titration Break Point A, Break B is Titration BreakPoint B, Kc1 is Flat Gain, Kc2 is Steep Gain, and Tc is Time Constant.